// 解题思路：
// 分割等和子集，目的就是找出数组中的 x 个数，使它们的和等于所有元素和的一半
// 挑出来的这 x 个数，并不一定是连续的，所有不能使用滑动窗口的解题思路
// 而是需要使用 01 背包的思路
// 定义 dp[i][j] 表示从 i 个元素中选择，是否能够和恰好等于 j，因此要定义 boolean 二维 dp 表
// 根据 i 位置元素的情况分类讨论：
// 不选 i 位置元素：dp[i][j] = dp[i - 1][j]
// 选 i 位置元素：if(j - arr[i] >= 0) dp[i][j] = dp[i - 1][j - arr[i]]
// 两种情况有一种能够满足即可
// 初始化：dp[0][0] = true, 从 0 个元素中挑选，和等于 0，不选即和等于 0，因此初始化为 true

import java.util.Scanner;

public class DivideSubCollection {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] arr = new int[n + 1];
        int sum = 0;
        int t = 0;
        for (int i = 1; i <= n; i++) {
            arr[i] = in.nextInt();
            sum += arr[i];
        }
        if (sum % 2 != 0) {
            System.out.println("false");
            return;
        }
        t = sum / 2;
        boolean[][] dp = new boolean[n + 1][t + 1];
        dp[0][0] = true;
        for (int i = 1; i <= n; i++) {
            for (int j = 0; j <= t; j++) {
                dp[i][j] = dp[i - 1][j];
                if (j >= arr[i]) {
                    dp[i][j] = (dp[i][j] || dp[i - 1][j - arr[i]]);
                }
            }
        }
        System.out.println(dp[n][t]);
    }
}
